/*
 * Powered By [Frank-Liz-Lee]
 * Copyright(C) 2012-2016 Liz Company
 * All rights reserved.
 */

package com.linln.modules.system.service;

import com.linln.modules.system.domain.ActionLog;
import com.github.pagehelper.PageInfo;



import java.util.List;

public interface ActionLogService extends GenericIService<ActionLog,Long>{

    /**
     * 通过主键查询实体对象
     *
     * @param primaryKey
     * @return
     * @throws Exception
     */
    public ActionLog getByPK(Long primaryKey) ;

    /**
     * 查询所有记录
     * @return
     * @throws Exception
     */
    public List<ActionLog> list() ;

    /**
     * 根据查询条件查询所有记录
     * @return
     * @throws Exception
     */
    public List<ActionLog> listByProperty(ActionLog actionLog) ;


    /**
     * 根据主键删除记录
     * @param primaryKey
     * @return
     * @throws Exception
     */
    public int deleteByPK(Long primaryKey) ;

    /**
     * 根据多个主键删除记录
     * @param primaryKeys
     * @throws Exception
     */
    public int deleteByPKeys(List<Long> primaryKeys) ;

    /**
     * 根据传入参数删除记录
     * @param actionLog
     * @return
     * @throws Exception
     */
    public int deleteByProperty(ActionLog actionLog) ;

    /**
     * 保存记录
     * @param actionLog
     * @return
     * @throws Exception
     */
    public int save(ActionLog actionLog) ;

    /**
     * 更新记录
     * @param actionLog
     * @return
     * @throws Exception
     */
    public int update(ActionLog actionLog) ;

    /**
     * 根据条件查询记录条数
     * @param actionLog
     * @return
     * @throws Exception
     */
    public int findByCount(ActionLog actionLog) ;

    /**
     * 根据查询条件查询分页记录
     * @return
     * @throws Exception
     */
    public PageInfo<ActionLog> findByPage(Integer pageNum, Integer pageSize, ActionLog actionLog);

    List<ActionLog> getDataLogList(String tableName, Long entityId);


    void emptyLog();
}
